﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Data;


using Modelo_ETdA.Dados;
using Modelo_ETdA.Negocio.Analise;
using Modelo_ETdA.Negocio.AmbienteComercial;
using Modelo_ETdA.Negocio.Analise.Formato;
using Modelo_ETdA.Negocio.Analise.Avaliacao;


namespace Modelo_ETdA.Negocio.Analise
{
    public class GestorAnalise
    {
        private AmbienteComercial.AmbienteComercial ambComercialSessao;
        private List<DocumentoCabecalho> listdocCabecalho;
        private DadosDocumentos dadosDoc;
        private DadosAnalises dadosAna;

        public GestorAnalise()
        {
            dadosDoc = new DadosDocumentos();
            dadosAna = new DadosAnalises();
        }

        public DataTable getListAvalForm(int codAmb)
        {
            return dadosDoc.getListAvalForm(codAmb);
        }

        public GestorAnalise(AmbienteComercial.AmbienteComercial ambComercial, List<DocumentoCabecalho> list)
        {
            dadosDoc = new DadosDocumentos();
            dadosAna = new DadosAnalises();
            listdocCabecalho = list;
            ambComercialSessao = ambComercial;
        }

        public int registaFormatoAvaliacao(FormatoAvaliacao formato, int dim, int codAmbC)
        {
            return dadosDoc.registaFormatoAvaliacao(formato, dim, codAmbC);
        }

        public FormatoAvaliacao consultaFormatoAvaliacao(int codFormato, int dim, int codAmbC)
        {
            return dadosDoc.consultaFormatoAvaliacao(codFormato, dim, codAmbC);
        }

        public int removeDocumento(int codFormato, int dim)
        {
            return dadosDoc.removeDocumento(codFormato, dim);
        }

        public List<Habilitacao> getListHabilitacaoLiteraria()
        {
            return dadosDoc.getListHabilitacaoLiteraria();
        }

        public int addHabilitacao(String descricao)
        {
            return dadosDoc.addHabilitacao(descricao);
        }

        public List<Avaliacao.Avaliacao> consultaAvaliacao(int codAval, int dimensao)
        {
            return dadosDoc.consultaAvaliacao(codAval, dimensao);
        }

        public int registListQuestionario(List<Questionario> l_quest)
        {
            return dadosDoc.registListQuestionario(l_quest);
        }

        public int registListFormAval(List<FormularioAvaliacao> l_fa)
        {
            return dadosDoc.registListFormAval(l_fa);
        }

        public int registChecklist(Negocio.Analise.Avaliacao.Checklist clist)
        {
            return dadosDoc.registChecklist(clist);
        }

        public int getCodQuestao(int codCons, int codDiv, int codForm)
        {
            return dadosDoc.getCodQuestao(codCons, codDiv, codForm);
        }

        public List<Consideracao> consultaListaConsideracao()
        {
            return dadosAna.getListConsideracao();
        }

        public AmbienteComercial.AmbienteComercial AmbComercialSessao
        {
            get { return ambComercialSessao; }
            set { ambComercialSessao = value; }
        }

        public List<DocumentoCabecalho> ListdocCabecalho
        {
            get { return listdocCabecalho; }
            set { listdocCabecalho = value; }
        }

        public DadosDocumentos DadosDoc
        {
            get { return dadosDoc; }
            set { dadosDoc = value; }
        }

        public DadosAnalises DadosAna
        {
            get { return dadosAna; }
            set { dadosAna = value; }
        }

    }
}
